home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2003 September / The Sunday Times - The Month 2003-09.iso / mac / The Month SEP 03 / assets / panels / prize.swf / scripts / DefineSprite_37 / frame_1 / DoAction.as
Text File  |  2003-08-15  |  2KB  |  102 lines

  1. refresh = function()
  2. {
  3.    SCROLLHEIGHT = 350;
  4.    mScrollTrack._height = SCROLLHEIGHT - 22;
  5.    mArrow_down._y = SCROLLHEIGHT - 11;
  6.    maxTargetPos = 0;
  7.    targetHeight = target._height + 20;
  8.    minTargetPos = maxTargetPos - targetHeight + SCROLLHEIGHT;
  9.    targetRange = Math.abs(maxTargetPos - minTargetPos);
  10.    if(targetHeight < SCROLLHEIGHT)
  11.    {
  12.       _visible = 0;
  13.    }
  14.    else
  15.    {
  16.       _visible = 1;
  17.    }
  18.    scrolling = dragging = 0;
  19.    var scrollRatio = SCROLLHEIGHT / targetHeight;
  20.    if(scrollRatio < 1)
  21.    {
  22.       mScroller._height = scrollRatio * mScrollTrack._height;
  23.       mScroller._visible = 1;
  24.    }
  25.    else
  26.    {
  27.       mScroller._visible = 0;
  28.    }
  29.    minScrollerPos = mScrollTrack._y;
  30.    maxScrollerPos = minScrollerPos + mScrollTrack._height - mScroller._height;
  31.    scrollerRange = Math.abs(mScrollTrack._height - mScroller._height);
  32.    SCROLLSPEED = 5;
  33.    scrollerColor = new Color(mScroller);
  34.    updateScroller();
  35. };
  36. mArrow_up.onPress = function()
  37. {
  38.    onEnterFrame = scrollUp;
  39. };
  40. mArrow_down.onPress = function()
  41. {
  42.    onEnterFrame = scrollDown;
  43. };
  44. mScroller.onPress = function()
  45. {
  46.    this.startDrag(0,this._x,minScrollerPos,this._x,maxScrollerPos);
  47.    this.onMouseMove = this._parent.drag;
  48. };
  49. mScroller.onRollOver = function()
  50. {
  51.    scrollerColor.setRGB(6443289);
  52. };
  53. mScroller.onRollOut = function()
  54. {
  55.    scrollerColor.setRGB(12170390);
  56. };
  57. this.onMouseUp = function()
  58. {
  59.    onEnterFrame = null;
  60.    onMouseMove = null;
  61.    mScroller.stopDrag();
  62.    updateScroller();
  63.    scrollerColor.setRGB(12170390);
  64. };
  65. scrollUp = function()
  66. {
  67.    if(target._y < maxTargetPos)
  68.    {
  69.       target._y += SCROLLSPEED;
  70.    }
  71.    if(target._y > maxTargetPos)
  72.    {
  73.       target._y = maxTargetPos;
  74.    }
  75.    updateScroller();
  76. };
  77. scrollDown = function()
  78. {
  79.    if(target._y > minTargetPos)
  80.    {
  81.       target._y -= SCROLLSPEED;
  82.    }
  83.    if(target._y < minTargetPos)
  84.    {
  85.       target._y = minTargetPos;
  86.    }
  87.    updateScroller();
  88. };
  89. drag = function()
  90. {
  91.    var draggedAmount = mScroller._y - minScrollerPos;
  92.    var scrollAmount = draggedAmount / scrollerRange;
  93.    target._y = maxTargetPos - scrollAmount * targetRange;
  94. };
  95. updateScroller = function()
  96. {
  97.    var targetScrolledAmount = maxTargetPos - target._y;
  98.    var ratioScrolled = targetScrolledAmount / targetRange;
  99.    mScroller._y = minScrollerPos + ratioScrolled * scrollerRange;
  100. };
  101. refresh();
  102.